﻿#define _CRT_SECURE_NO_WARNINGS

#include<iostream>
using namespace std;

//class A
//{
//public:
//	A(int name = 1)
//	{
//
//	}
//
//private:
//	int name;
//};
//
//class A
//{
//public:
//	A(int name)
//	{
//
//	}
//
//private:
//	int name = 1;
//};
//
//int main()
//{
//
//	return 0;
//}

class Person
{
public:
    string _name;
    static int _count;	//静态成员类内声明
};
int Person::_count = 0;	//静态成员类外定义

class Student : public Person
{
protected:
    int _stuNum;
};

int main()
{
    Person p;
    Student s;
    // 这⾥的运⾏结果可以看到⾮静态成员_name的地址是不⼀样的 
    // 说明派⽣类继承下来了，⽗派⽣类对象各有⼀份 
    cout << &p._name << endl;
    cout << &s._name << endl;
    // 这⾥的运⾏结果可以看到静态成员_count的地址是⼀样的 
    // 说明派⽣类和基类共⽤同⼀份静态成员 
    cout << &p._count << endl;
    cout << &s._count << endl;
    // 公有的情况下，⽗派⽣类指定类域都可以访问静态成员 
    cout << Person::_count << endl;
    cout << Student::_count << endl;
    return 0;
}
